#ifndef __BUOLA_GUI_X11_CGLXEXPOSEHELPER_H__
#define __BUOLA_GUI_X11_CGLXEXPOSEHELPER_H__

#include <buola/gui/x11/auto.h>
#include <buola/gui/cexposehelper.h>
#include <buola/gl/copenglgc.h>

namespace buola { namespace gui { namespace x11 {

class CGLXExposeHelper : public CExposeHelper
{
public:
    CGLXExposeHelper(CX11Window *pWindow);
    virtual ~CGLXExposeHelper();

    virtual img::CGC *Prepare(CWindow &pWindow,const CRegion &pRegion,bool pClear);
    virtual void Commit(const CRegion &pRegion);

private:
    CX11Window *mWindow;
    std::unique_ptr<gl::COpenGLGC> mGC;
};

/*namespace x11*/ } /*namespace gui*/ } /*namespace buola*/ }

#endif
